package csdn;

public class Csdn6 {
    public static int BF(String str1,String str2){
        //判断该两个子串是否为空，若有一个为空则返回-1;
        if(str1==null||str2==null) return -1;
        int n1=str1.length();//记录主串的长度
        int n2=str2.length();//记录副串的长度
        int k=0;
        int i=0;
        while (i<n1&&k<n2){
            if (str1.charAt(i)==str2.charAt(k)){
                i++;
                k++;
            }
            //不成功则将i回退到刚刚位置的下一个
            else {
                i=i-k+1;
                k=0;
            }
        }
        //判断字符串匹配是否成功
        if (k>=n2){
            return i-k;//返回下标
        }return -1;
    }
    public static void main(String[] args) {
        System.out.println(BF("abcabceadad","abce"));
    }
}
